package com.ticket.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ticket.common.annotation.Excel;
import com.ticket.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 演出附表对象 t_yanchu_attach
 * 
 * @date 2023-04-03
 */
public class YanchuAttach extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 演出编码 */
    @Excel(name = "演出编码")
    private Integer idYanchu;

    /** 票面金额 */
    @Excel(name = "票面金额")
    private BigDecimal priceTicket;

    /** 数量 */
    @Excel(name = "数量")
    private Integer numTicket;

    /** 折扣 */
    @Excel(name = "折扣")
    private BigDecimal zhekouTicket;

    /** 实收金额 */
    @Excel(name = "实收金额")
    private BigDecimal shishouTicket;

    /** 衍生品名称 */
    @Excel(name = "衍生品名称")
    private String nameYansheng;

    @Excel(name = "衍生金额")
    private BigDecimal jineYansheng;

    /** 补助金额/人 */
    @Excel(name = "补助金额/人")
    private BigDecimal jineBuzhu;

    /** 补助数量 */
    @Excel(name = "补助数量")
    private Long numBuzhu;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal totalBuzhu;

    /** 创建时间 */
    @Excel(name = "创建时间")
    private Date createDate;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String yearYanchu;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateDate;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String monthYanchu;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setIdYanchu(Integer idYanchu) 
    {
        this.idYanchu = idYanchu;
    }

    public Integer getIdYanchu() 
    {
        return idYanchu;
    }
    public void setPriceTicket(BigDecimal priceTicket) 
    {
        this.priceTicket = priceTicket;
    }

    public BigDecimal getPriceTicket() 
    {
        return priceTicket;
    }
    public void setNumTicket(Integer numTicket)
    {
        this.numTicket = numTicket;
    }

    public Integer getNumTicket()
    {
        return numTicket;
    }
    public void setZhekouTicket(BigDecimal zhekouTicket) 
    {
        this.zhekouTicket = zhekouTicket;
    }

    public BigDecimal getZhekouTicket() 
    {
        return zhekouTicket;
    }
    public void setShishouTicket(BigDecimal shishouTicket) 
    {
        this.shishouTicket = shishouTicket;
    }

    public BigDecimal getShishouTicket() 
    {
        return shishouTicket;
    }
    public void setNameYansheng(String nameYansheng) 
    {
        this.nameYansheng = nameYansheng;
    }

    public String getNameYansheng() 
    {
        return nameYansheng;
    }
    public void setJineBuzhu(BigDecimal jineBuzhu) 
    {
        this.jineBuzhu = jineBuzhu;
    }

    public BigDecimal getJineBuzhu() 
    {
        return jineBuzhu;
    }
    public void setNumBuzhu(Long numBuzhu) 
    {
        this.numBuzhu = numBuzhu;
    }

    public Long getNumBuzhu() 
    {
        return numBuzhu;
    }
    public void setTotalBuzhu(BigDecimal totalBuzhu)
    {
        this.totalBuzhu = totalBuzhu;
    }

    public BigDecimal getTotalBuzhu()
    {
        return totalBuzhu;
    }
    public void setCreateDate(Date createDate)
    {
        this.createDate = createDate;
    }

    public Date getCreateDate()
    {
        return createDate;
    }
    public void setYearYanchu(String yearYanchu) 
    {
        this.yearYanchu = yearYanchu;
    }

    public String getYearYanchu() 
    {
        return yearYanchu;
    }
    public void setUpdateDate(Date updateDate) 
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate() 
    {
        return updateDate;
    }
    public void setMonthYanchu(String monthYanchu) 
    {
        this.monthYanchu = monthYanchu;
    }

    public String getMonthYanchu() 
    {
        return monthYanchu;
    }

    public BigDecimal getJineYansheng() {
        return jineYansheng;
    }

    public void setJineYansheng(BigDecimal jineYansheng) {
        this.jineYansheng = jineYansheng;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("idYanchu", getIdYanchu())
            .append("priceTicket", getPriceTicket())
            .append("numTicket", getNumTicket())
            .append("zhekouTicket", getZhekouTicket())
            .append("shishouTicket", getShishouTicket())
            .append("nameYansheng", getNameYansheng())
            .append("jineBuzhu", getJineBuzhu())
            .append("numBuzhu", getNumBuzhu())
            .append("totalBuzhu", getTotalBuzhu())
            .append("createDate", getCreateDate())
            .append("createBy", getCreateBy())
            .append("yearYanchu", getYearYanchu())
            .append("updateDate", getUpdateDate())
            .append("monthYanchu", getMonthYanchu())
            .toString();
    }
}
